home *** CD-ROM | disk | FTP | other *** search
Wrap
EEEEllllmmmm CCCCoooonnnnffffiiiigggguuuurrrraaaattttiiiioooonnnn GGGGuuuuiiiiddddeeee _H_o_w _t_o _i_n_s_t_a_l_l _a_n_d _c_u_s_t_o_m_i_z_e _t_h_e _E_l_m _m_a_i_l _s_y_s_t_e_m The Elm Mail System (Version 2.4) Syd Weinstein, Elm Coordinator Datacomp Systems, Inc. 3837 Byron Road Huntingdon Valley, PA 19006-2320 email: elm@DSI.COM or dsinc!elm Copyright 1986,1987 by Dave Taylor Copyright 1988-1992 by The USENET Community Trust EEEEllllmmmm CCCCoooonnnnffffiiiigggguuuurrrraaaattttiiiioooonnnn GGGGuuuuiiiiddddeeee (The Elm Mail System, Version 2.4) October 1, 1992 Syd Weinstein Datacomp Systems, Inc. 3837 Byron Road Huntingdon Valley, PA 19006-2320 email: elm@DSI.COM or dsinc!elm Derived from "The Elm Mail System, Version 2.0" by Dave Taylor Intuitive Systems Mountain View, California email: taylor@intuitive.com or limbo!taylor This document is intended as a supplement to the _E_l_m _U_s_e_r_s _G_u_i_d_e and _E_l_m _R_e_f_e_r_e_n_c_e _G_u_i_d_e and should be of interest mainly to peo- ple at a site installing, maintaining, and/or modifying the source code to the Elm mail system. It is _r_e_q_u_i_r_e_d that installation be done by using the _C_o_n_f_i_g_u_r_e script supplied with the system. Please see the file _I_n_s_t_r_u_c_t for further information on running _C_o_n_f_i_g_u_r_e. The remainder of this document discusses the various questions asked by the _C_o_n_f_i_g_u_r_e script and the options available via direct editing of various files and parameters. As indicated above, almost all of the sites that install Elm should find the _C_o_n_f_i_g_u_r_e script more than sufficient. UUUUssssiiiinnnngggg _C_o_n_f_i_g_u_r_e _C_o_n_f_i_g_u_r_e is a shell script that automatically determines the type of system it is running on and tunes the parameters of Elm to fit that system and its environment. Where the installer has Elm Configuration Guide Version 2.4 Elm Configuration Guide Version 2.4 a choice, it asks questions of the installer. _C_o_n_f_i_g_u_r_e provides its own instructions when run, so they are not repeated here. However, when the installer is presented with a choice, this next section explains some of the options available. Not all the questions or options to those questions are explained here. UUUUsssseeee ffffccccnnnnttttllll ssssttttyyyylllleeee lllloooocccckkkkiiiinnnngggg???? UUUUsssseeee fffflllloooocccckkkk ssssttttyyyylllleeee lllloooocccckkkkiiiinnnngggg???? UUUUsssseeee ddddoooottttlllloooocccckkkk ((((....lllloooocccckkkk)))) ssssttttyyyylllleeee lllloooocccckkkkiiiinnnngggg???? Elm, like all Mail User Agents (MUAs), has times when it needs exclusive access to the mail spool file. There are three methods of locking the mail spool file: ._l_o_c_k files, _f_c_n_t_l, and _f_l_o_c_k. ._l_o_c_k files is the original method, and is used by MUAs and Mail Transport Agents (MTAs). Whenever possible ._l_o_c_k files should be enabled to assure backwards compatibility with older MUAs and MTAs. BSD systems introduced _f_l_o_c_k style locking. It uses the _f_l_o_c_k(_2) system call to lock the file on the local node. System V later introduced _f_c_n_t_l style locking, which can also use a protocol for remote locking across the network. Where both styles are avail- able, it is advisable to use both, unless you are sure that only one is in use at your site. Under many System V Release 4 (SVR4) systems, they both use the same underlying system call (_f_l_o_c_k is translated into _f_c_n_t_l style locking), so for that version of UNIX(R), _f_l_o_c_k is not needed and _f_c_n_t_l style alone can be used. EEEEnnnnaaaabbbblllleeee ccccaaaalllleeeennnnddddaaaarrrr ffffeeeeaaaattttuuuurrrreeee???? Elm has a feature to take specially marked lines within mail mes- sages and add them to a file for use by the system calendar pro- gram. The command to do this extraction needs to be enabled to work. There is also a follow on question regarding the name of the calendar file: DDDDeeeeffffaaaauuuulllltttt ccccaaaalllleeeennnnddddaaaarrrr ffffiiiilllleeee???? which is usually _c_a_l_e_n_d_a_r on most systems. This file resides in the user's home directory, not their ._e_l_m directory. DDDDooooeeeessss yyyyoooouuuurrrr ////eeeettttcccc////ppppaaaasssssssswwwwdddd ffffiiiilllleeee kkkkeeeeeeeepppp ffffuuuullllllll nnnnaaaammmmeeeessss iiiinnnn BBBBeeeerrrrkkkkeeeelllleeeeyyyy////VVVV7777 ffffoooorrrrmmmmaaaatttt ((((nnnnaaaammmmeeee ffffiiiirrrrsssstttt tttthhhhiiiinnnngggg aaaafffftttteeeerrrr ''''::::'''' iiiinnnn GGGGCCCCOOOOSSSS ffffiiiieeeelllldddd))))???? Elm uses the full name from the password file if it is available. There are two major ways this name is stored. Berkeley/V7 sys- tems place the name as the entire GCOS field string, that is it starts directly after the ':' that delimits the fields. USG (UNIX Systems Group, or AT&T) systems put the user's name after a department number and separate it from that number by a hyphen __________ (R)UNIX is a registered trademark of UNIX Systems Laboratories. October 1, 1992 Page 2 Elm Configuration Guide Version 2.4 ('-'). The end of the user's full name in these systems is a '('. Look at your /_e_t_c/_p_a_s_s_w_d file and if either version ap- plies, answer _y_e_s to this question; if neither applies, answer _n_o. Elm can still get the user's name from the ._f_u_l_l_n_a_m_e file in their home directory. EEEEvvvveeeerrrryyyy nnnnoooowwww aaaannnndddd tttthhhheeeennnn ssssoooommmmeeeeoooonnnneeee hhhhaaaassss aaaa ggggeeeetttthhhhoooossssttttnnnnaaaammmmeeee(((())))////uuuunnnnaaaammmmeeee(((()))) tttthhhhaaaatttt lllliiiieeeessss aaaabbbboooouuuutttt tttthhhheeee hhhhoooossssttttnnnnaaaammmmeeee bbbbuuuutttt ccccaaaannnn''''tttt bbbbeeee ffffiiiixxxxeeeedddd ffffoooorrrr ppppoooolllliiiittttiiiiccccaaaallll oooorrrr eeeeccccoooonnnnoooommmmiiiicccc rrrreeeeaaaassssoooonnnnssss.... WWWWoooouuuulllldddd yyyyoooouuuu lllliiiikkkkeeee ttttoooo pppprrrreeeetttteeeennnndddd ggggeeeetttthhhhoooossssttttnnnnaaaammmmeeee(((())))////uuuunnnnaaaammmmeeee(((()))) iiiissssnnnn''''tttt tttthhhheeeerrrreeee aaaannnndddd mmmmaaaayyyybbbbeeee ccccoooommmmppppiiiilllleeee iiiinnnn tttthhhheeee hhhhoooossssttttnnnnaaaammmmeeee???? Elm needs to know the correct name of the host on which it is ex- ecuting to be able to create the proper headers for the outbound mail. Some systems use one name for uucp and another name for the system and others just don't reply to the subroutines with the proper name. In this case it will be necessary to compile in the name. In all other cases this should not be needed. It is provided just in case there is a problem with your system. HHHHoooonnnnoooorrrrssss CCCCoooonnnntttteeeennnntttt----LLLLeeeennnnggggtttthhhh:::: hhhheeeeaaaaddddeeeerrrr???? Starting with SVR4, many of the MTAs are binary transparent. This allows for sending binary messages, such as encoded voice or graphics. In doing so, they no longer can tolerate changes in the message content by the mailers to aid in determining the start of the next message. To solve this problem the CCCCoooonnnntttteeeennnntttt---- LLLLeeeennnnggggtttthhhh:::: header was added. Elm generates the CCCCoooonnnntttteeeennnntttt----LLLLeeeennnnggggtttthhhh:::: header, but to make full use of it, Elm should also not escape such sequences as "From " at the start of a line of the message. If your MTA (mailer) does honor the CCCCoooonnnntttteeeennnntttt----LLLLeeeennnnggggtttthhhh:::: header for determining the start of the next message, answer this question _y_e_s. Along the same lines, but now obsolete and being phased out, is a problem where an MTA thinks a message is terminated by a single lone period on a line. _s_e_n_d_m_a_i_l has an option to turn off this behavior and this option is set by default in _C_o_n_f_i_g_u_r_e. If your mailer cannot turn off this option, add a line to _s_y_s_d_e_f_s._S_H to define the symbol NNNNEEEEEEEEDDDD____LLLLOOOONNNNEEEE____PPPPEEEERRRRIIIIOOOODDDD____EEEESSSSCCCCAAAAPPPPEEEE. This symbol turns a line with a lone period into a period and a blank to avoid this problem. This symbol is ignored if the "Honors Content-Length: header?" question is answered _y_e_s. DDDDooooeeeessss yyyyoooouuuurrrr mmmmaaaaiiiilllleeeerrrr uuuunnnnddddeeeerrrrssssttttaaaannnndddd IIIINNNNTTTTEEEERRRRNNNNEEEETTTT aaaaddddddddrrrreeeesssssssseeeessss???? Elm works with systems that can process the '@' character of In- ternet format addresses or with the '!' format of _u_u_c_p addresses. If your MTA understands the '@' format addresses, they should be used and this question answered _y_e_s. If messages bounce when you send them with '@' format addresses (such as "elm@dsi.com"), then answer this question _n_o. October 1, 1992 Page 3 Elm Configuration Guide Version 2.4 AAAAmmmm IIII ggggooooiiiinnnngggg ttttoooo bbbbeeee rrrruuuunnnnnnnniiiinnnngggg aaaassss aaaa sssseeeettttggggiiiidddd pppprrrrooooggggrrrraaaammmm???? On USG and many other type systems, access to the mailboxes and the mailbox directory is via the group permissions. The MUAs, such as Elm, need write access in this directory to be able to move the mailbox around for internal editing and to create lock files. If the permissions on your mailbox directory are "drwxrwxr-x" (no write access for "others"), then Elm needs to be a _s_e_t_g_i_d program. WWWWhhhhaaaatttt iiiissss tttthhhheeee ddddeeeeffffaaaauuuulllltttt eeeeddddiiiittttoooorrrr oooonnnn yyyyoooouuuurrrr ssssyyyysssstttteeeemmmm???? If no editor is specified in the user's ._e_l_m/_e_l_m_r_c file, this is which editor to use. The editor is used to compose outbound mail messages. WWWWhhhhaaaatttt ppppaaaaggggeeeerrrr ddddoooo yyyyoooouuuu pppprrrreeeeffffeeeerrrr ttttoooo uuuusssseeee wwwwiiiitttthhhh EEEEllllmmmm???? This is the standard pager to use for reading messages. Besides the usual system pagers, two Elm specific internal options exist: _b_u_i_l_t_i_n and _b_u_i_l_t_i_n+. The _b_u_i_l_t_i_n pager is faster to execute but much less flexible than the system provided pagers. The _b_u_i_l_t_i_n+ pager just clears the page before displaying the next page, oth- erwise the two versions are identical. OOOOtttthhhheeeerrrr CCCCoooonnnnffffiiiigggguuuurrrraaaabbbblllleeee PPPPaaaarrrraaaammmmeeeetttteeeerrrrssss The following parameters rarely need to be changed, but are pro- vided if you need them. _C_o_n_f_i_g_u_r_e does not prompt for their values. To change them, edit the _h_d_r_s/_s_y_s_d_e_f_s._h file directly after running _C_o_n_f_i_g_u_r_e. MAX_IN_WEEDLIST The maximum number of headers that can be specified in the weedout list of the ._e_l_m/_e_l_m_r_c file. A suggested alternative approach if this number is too small is to specify initial substrings in the file rather than in- creasing the number. For example, say you want to weedout the headers "Latitude:" and "Latitudinal- Coords:", you could simply specify "Latitud" and match them both! Furthermore you could also specify headers like "X-" and remove all the user defined headers! MAX_HOPS When using the ggggrrrroooouuuupppp rrrreeeeppppllllyyyy command, this is the maximum number of hops that a message can have taken. This is used to try to optimize the return address (remove cy- clic loops and so on) and regular use should show that the default of 35 is plenty more than you'll ever need! system_text_file This is the source text file for the system level aliases. See either the _n_e_w_a_l_i_a_s man page or _T_h_e _E_l_m _A_l_i_a_s _S_y_s_t_e_m _U_s_e_r_s _G_u_i_d_e for further details. October 1, 1992 Page 4 Elm Configuration Guide Version 2.4 system_hash_file This is the file that contains the hashed version of the system aliases generated by _n_e_w_a_l_i_a_s. system_data_file This is the other file the _n_e_w_a_l_i_a_s command installs in the system alias area and contains the actual addresses for each of the aliases contained in the hashed data file. DEBUGFILE The name of the file to put in the user's home directo- ry if they choose to use the ----dddd (ddddeeeebbbbuuuugggg) option. OLDEBUG The name of the file to save the previous debug output as (this feature was added to ensure that users wanting to mail bug reports wouldn't automatically overwrite the debug log of the session in question). temp_lock_dir Directory for lock files for XENIX. temp_file Temporary file for sending outbound messages. temp_form_file A place to store temporary forms (for Forms Mode) while answering them. temp_mbox Place to keep a copy of the incoming mailbox to avoid collisions with newer mail. temp_print File to use when creating a printout of a message. temp_edit File to use when editing the mailbox file on XENIX. temp_uuname Where to redirect output of the _u_u_n_a_m_e command. mailtime_file File to compare date to to determine if a given message is new since the last time the mail was read or not. readmsg_file File to use when communicating with the _r_e_a_d_m_s_g program (see that program for more information). smflags Defines the options to hand to _s_e_n_d_m_a_i_l if and when the program chooses to use it. smflagsv Defines the options to hand to _s_e_n_d_m_a_i_l in verbose voyeur mode. mailer If you don't have _s_e_n_d_m_a_i_l, this is the mailer that'll be used. October 1, 1992 Page 5 Elm Configuration Guide Version 2.4 helpfile The help file name prefix. ELMRC_INFO The file containing textual messages associated with each Elm variable setting in the user's ._e_l_m/_e_l_m_r_c file. This is used when the user chooses to save the options from within the main program. elmrcfile The name of the automatic control file within the ._e_l_m directory (by default _e_l_m_r_c). old_elmrcfile When a new _e_l_m_r_c file is saved, the old one is also saved by renaming it to whatever this identifier is set to. system_rc_file The name of the global _e_l_m_r_c file (default is $_l_i_b/_e_l_m._r_c). This is where the system administrator puts global default values for any parameters con- trolled by the ._e_l_m/_e_l_m_r_c file. mailheaders The name of the optional file that users may have that is included in the headers of each outbound message. dead_letter If the user decides not to send a message it is instead saved to this filename in their home directory. unedited_mail In the strange case when the mailer suddenly finds all the directories it uses shut off (like /_u_s_r/_m_a_i_l and /_t_m_p) then it'll put the current mailbox into this file in the user's home directory. newalias How to install new aliases (note that you MUST have the ----gggg option!). readmsg What the _r_e_a_d_m_s_g program is installed as. RRRRuuuunnnnttttiiiimmmmeeee ccccoooonnnnffffiiiigggguuuurrrraaaattttiiiioooonnnn ---- tttthhhheeee gggglllloooobbbbaaaallll $_l_i_b/_e_l_m._r_c ffffiiiilllleeee No global default file is provided as part of the installation of Elm. If you wish to override any default parameters for all users, create a file as defined in the ssssyyyysssstttteeeemmmm____rrrrcccc____ffffiiiilllleeee above. An easy way to create it is to copy a saved ._e_l_m/_e_l_m_r_c and edit it to remove all user-specific parameters. Of particular interest are three additional parameters you may set: hhhhoooossssttttddddoooommmmaaaaiiiinnnn, hhhhoooosssstttt---- ffffuuuullllllllnnnnaaaammmmeeee, and hhhhoooossssttttnnnnaaaammmmeeee. See SSSSttttrrrriiiinnnngggg VVVVaaaarrrriiiiaaaabbbblllleeeessss in section 2 of the _E_l_m _R_e_f_e_r_e_n_c_e _G_u_i_d_e for details on these variables. October 1, 1992 Page 6 Elm Configuration Guide Version 2.4 WWWWhhhheeeennnn _C_o_n_f_i_g_u_r_e FFFFaaaaiiiillllssss The _C_o_n_f_i_g_u_r_e script has run successfully tens of thousands of times. But maybe your system is the one in ten thousand that will confuse it. For example, _C_o_n_f_i_g_u_r_e assumes that if your system has a feature it would like, then it should be used. If vendors never made mistakes, then that might be a good assump- tion. In reality, _C_o_n_f_i_g_u_r_e might want to use a feature you'd prefer it didn't. When _C_o_n_f_i_g_u_r_e completes its examination of your system, it gives you a final chance to make changes. When _C_o_n_f_i_g_u_r_e asks IIIIffff yyyyoooouuuu nnnneeeeeeeedddd ttttoooo eeeeddddiiiitttt ccccoooonnnnffffiiiigggg....sssshhhh,,,, ddddoooo iiiitttt aaaassss aaaa sssshhhheeeellllllll eeeessssccccaaaappppeeee hhhheeeerrrreeee:::: you may briefly jump out of _C_o_n_f_i_g_u_r_e to make changes. For exam- ple, if _v_i is your preferred editor, type !!!!vvvviiii ccccoooonnnnffffiiiigggg....sssshhhh. Unfortunately, _C_o_n_f_i_g_u_r_e makes the same mistakes every time it runs. This means that if you ever apply updates or changes to the Elm system and rerun _C_o_n_f_i_g_u_r_e, you will have to manually make the same configuration changes. Or more likely, you'll for- get that the changes are required. The solution to this problem is to create a _c_o_n_f_i_g._o_v_e_r file in the Elm base directory. This file may contain any valid _s_h com- mands, and is loaded by _C_o_n_f_i_g_u_r_e immediately before the _c_o_n_f_i_g._s_h file is created. For example, supposed that _C_o_n_f_i_g_u_r_e creates a _c_o_n_f_i_g._s_h file with the definition dddd____ffffeeeeaaaattttuuuurrrreeee====ddddeeeeffffiiiinnnneeee but instead you want it to say dddd____ffffeeeeaaaattttuuuurrrreeee====uuuunnnnddddeeeeffff All you need to do is create a _c_o_n_f_i_g._o_v_e_r file and put that fi- nal line in it. October 1, 1992 Page 7